package cn.edu.wynu.string;

import java.util.Scanner;

public class StringTest05 {
    public static void main(String[] args) {
        // 案例一：完成用户登录
        // 需求：系统正确的登录名和密码是:wynueducn/123456，请在控制台开发一个登录界面，
        // 接收用户输入的登录名和密码，判断用户是否登录成功，登录成功后展示:“欢迎进入系统!”，
        // 即可停止程序（注意:要求最多给用户三次登录机会）

        // 步骤:
        // 1、开发登录界面，提示用户通过键盘输入登录名和密码。
        for (int i = 0; i < 3;i++) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请您输入您的登录名:");
            String loginName = sc.next();
            System.out.println("请您输入您的登录密码:");
            String passWord = sc.next();

            // 5、开始调用登录方法，判断用户是否登录成功。
            boolean rs = login(loginName, passWord);
            if (rs) {
                System.out.println("欢迎进入系统!");
                break; // 登录成功，跳出循环
            }else {
                System.out.println("登录失败，请重新输入!");
            }
        }

    }
    // 2、设计一个登录方法，对用户的登录名和密码进行正确性认证。
    public static boolean login(String loginName, String passWord){
        // 3、准备系统正确的用户登录名和密码
        String okLoginName = "wynueducn";
        String okPassWord = "123456";

        // 4、根据登录方法返回的认证结果，判断用户是否登录成功。
        /*
        if (okLoginName.equals(loginName) && okPassWord.equals(passWord)) {
            // 登录成功
            return true;
        } else {
            // 登录失败
            return false;
        }
        */
        return okLoginName.equals(loginName) && okPassWord.equals(passWord);
    }

    // 开发中比较字符串推荐使用什么方式比较?
    // 使用String提供的equals方法，它只关心字符串内容一样就返回true。
    // public boolean equals(Object anObject)
    // public boolean equalsIgnoreCase(String anotherString)
}
